With the advent of the computer age, computer and software users have grown accustomed to user-friendly software applications that help them write, calculate, organize, prepare presentations, send and receive electronic mail, make music, and the like. For example, modern electronic word processing applications allow users to prepare a variety of useful documents. Modern spreadsheet applications allow users to enter, manipulate, and organize data. Modern electronic slide presentation applications allow users to create a variety of slide presentations containing text, pictures, data or other useful objects.
To assist users to locate and utilize functionality of a given software application, a user interface containing a plurality of generic functionality controls is typically provided along an upper, lower or side edge of a displayed workspace in which the user may enter, copy, manipulate and format text or data. Such functionality controls often include selectable buttons with such names as “file,” “edit,” “view,” “insert,” “format,” and the like. Typically, selection of one of these top-level functionality buttons, for example “format,” causes a drop-down menu to be deployed to expose one or more selectable functionality controls associated with the top-level functionality, for example “font” under a top-level functionality of “format.”
Prior user interface systems provide pop-up menus for displaying a set of selectable functionality controls that would deploy onto a user's display screen adjacent to a selected object (e.g., text selection, data object, picture object, etc.) for allowing the user to apply a selected functionality of a software application to the selected object. Such context menus are typically deployed upon a user action such as right-clicking a mouse when the mouse cursor is focused on the selected object. Unfortunately, prior context menus have been limited to a small set of selectable controls, and it is typically difficult to identify the editing context of the menu (e.g., text selection, picture object, etc.). Moreover, if a given document being edited by a user contains different (and distinctly editable) objects, it is often difficult to switch the context of such a context menu from one editing context to another (e.g., text selection to picture object).
Accordingly, there is a need in the art for an improved user interface for displaying a menu of selectable functionality controls that identifies the context of the object to which the menu is relevant, that contains rich functionality controls for applying contextually relevant functionality to a selected object, and that may be efficiently switched to a different context for applying a different set of functionalities to a different or neighboring editable object. It is with respect to these and other considerations that the present invention has been made.